package com.jtny.nytb.config.dictionary.dto;

import com.jtny.component.annotation.QueryParamField;
import com.jtny.component.entity.PageParam;
import com.jtny.component.enums.FieldMatchingTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * 数据字典分页查询参数DTO对象
 * @package com.jtny.nytb.config.dictionary.dto
 * @fileName DictionaryPageQueryDTO.java
 * @author 智慧能源中心-lyq
 * @createTime 2023年09月01日 09:02
 * @version 1.0
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel("数据字典分页查询参数DTO对象")
@Data
public class DictionaryPageQueryDTO extends PageParam implements Serializable {

    @ApiModelProperty("数据字典编码查询条件，精确查询")
    @QueryParamField(columnName = "code", matchingType = FieldMatchingTypeEnum.EQ)
    private String code;

    @ApiModelProperty("数据字典分类名称查询条件，模糊查询")
    @QueryParamField(columnName = "name", matchingType = FieldMatchingTypeEnum.LIKE)
    private String nameLike;

    @ApiModelProperty("数据字典状态查询条件，范围查询")
    @QueryParamField(columnName = "status", matchingType = FieldMatchingTypeEnum.IN)
    private List<Integer> statusList;

    @ApiModelProperty("数据字典状态查询条件，精确查询")
    @QueryParamField(columnName = "id", matchingType = FieldMatchingTypeEnum.IN)
    private List<Long> idList;
}
